<!DOCTYPE html>
<html xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorate="~{layout}">

<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>

    <title th:text="#{cas.mfa.yubikey.pagetitle}">YubiKey Registration View</title>
    <link href="../../static/css/cas.css" rel="stylesheet" th:remove="tag"/>
</head>

<body>
<main class="container mt-3 mb-3">
    <div layout:fragment="content" id="login" class="mdc-card mdc-card-content w-lg-50 p-4 m-auto">
        <form method="post" id="yubiKeyForm">
            <div class="banner banner-danger my-2" th:if="${flowRequestContext.messageContext.hasErrorMessages()}">
                <p th:each="message : ${flowRequestContext.messageContext.allMessages}"
                   th:utext="#{${message.text}}">Message Text</p>
            </div>
            <div class="alert alert-info" th:text="#{cas.mfa.yubikey.register}">
                Your device is not yet registered. Use the below form to register your device with CAS.
            </div>
            <section class="cas-field my-3 mdc-input-group">
                <div class="mdc-input-group-field mdc-input-group-field-append">
                    <div class="d-flex caps-check">
                        <label for="token"
                               class="mdc-text-field mdc-text-field--outlined mdc-text-field--with-trailing-icon">
                            <input class="mdc-text-field__input pwd"
                                   type="password"
                                   name="token"
                                   id="token"
                                   size="50"
                                   autocomplete="off" required/>
                            <span class="mdc-notched-outline">
                                <span class="mdc-notched-outline__leading"></span>
                                <span class="mdc-notched-outline__notch">
                                    <span class="mdc-floating-label" th:utext="#{cas.mfa.yubikey.label.token}">Token</span>
                                </span>
                                <span class="mdc-notched-outline__trailing"></span>
                            </span>
                            <button
                                    class="reveal-password align-self-end mdc-button mdc-button--unelevated mdc-input-group-append mdc-icon-button btn btn-primary"
                                    tabindex="-1" type="button" th:title="#{screen.pm.password.toggle}">
                                <i class="mdi mdi-eye reveal-password-icon fas fa-eye" aria-hidden="true"></i>
                            </button>
                        </label>
                    </div>
                </div>
                <div class="mdc-text-field-helper-line caps-warn">
                    <p
                        class="mdc-text-field-helper-text form-text text-small mdc-text-field-helper-text--persistent mdc-text-field-helper-text--validation-msg text-danger">
                        <span th:utext="#{screen.capslock.on}" />
                    </p>
                </div>
            </section>
            <div class="d-flex">
                <label for="accountName" class="mdc-text-field mdc-text-field--outlined control-label">
                    <span class="mdc-notched-outline">
                        <span class="mdc-notched-outline__leading"></span>
                        <span class="mdc-notched-outline__notch">
                            <span class="mdc-floating-label" th:utext="#{screen.authentication.yubikey.name}">Token</span>
                        </span>
                        <span class="mdc-notched-outline__trailing"></span>
                    </span>
                    <input class="mdc-text-field__input form-control"
                            type="text"
                            name="accountName"
                            id="accountName"
                            size="50"
                            autocomplete="off" required />
                </label>
                <script>document.getElementById("accountName").value = randomWord();</script>
            </div>
            <br>
            <button class="mdc-button mdc-button--raised btn btn-primary" accesskey="s">
                <span class="mdc-button__label" th:text="#{screen.welcome.button.register}">Register</span>
            </button>
            <input type="hidden" name="_eventId_submit" value="Register" />
            <input type="hidden" name="execution" th:value="${flowExecutionKey}" />
        </form>
    </div>
</main>
</body>

</html>
